package com.yx.gsyd.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yx.gsyd.entity.SysManager;
import com.yx.gsyd.entity.req.SysManagerReq;
import com.yx.gsyd.entity.search.SysManagerSearch;
import com.yx.gsyd.entity.view.SysManagerView;
import com.yx.gsyd.qpage.QPage;
import com.yx.gsyd.util.ResultView;

import java.util.List;

/**
 * <p>
 * 后台账户表 服务类
 * </p>
 *
 * @author astupidcoder
 * @since 2021-06-16
 */
public interface ISysManagerService extends IService<SysManager> {
    /**
     * 获取管理用户列表
     * @param qPage
     * @param hjManagerSearch
     * @return
     */
    ResultView getListAll(QPage qPage, SysManagerSearch hjManagerSearch);

    /**
     * 新增用户
     * @param hjManagerReq
     * @return
     */
    ResultView addManager(SysManagerReq hjManagerReq);

    /**
     * 检测当前账户是否存在
     * @param account
     * @return
     */
    public SysManager exitAccount(String account);

    /**
     * 启用或停用账户
     * @param managerId
     * @return
     */
    ResultView applyStatus(String managerId);

    /**
     * 重置密码
     * @param mPwd 账户ID
     * @param newPwd 密码
     * @return
     */
    ResultView restPwd(String mPwd, String newPwd);

    ResultView restAppPwd(String mPwd, String newPwd);


    /**
     * 删除用户
     * @param managerId
     * @return
     */
    ResultView deleteManager(String managerId);

    /**
     * 根据账户ID获取当前账户信息
     * @return
     */
    ResultView getManagerId(String managerId);

    /**
     * 修改账户
     * @param hjManagerReq
     * @return
     */
    ResultView updateManager(SysManagerReq hjManagerReq);

    /**
     * 批量删除用户
     * @param managerId
     * @return
     */
    ResultView batchDeleteManager(String[] managerId);

    /**
     * 导出账户
     * @param search
     * @return
     */
    List<SysManagerView> downLoadList(SysManagerSearch search);


}
